﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Windows.Input;

namespace Milkify.Data
{
    public class WeekViewData : INotifyPropertyChanged
    {
        private TaskListViewData mToday;
        public TaskListViewData Today
        {
            get { return mToday; }
            set
            {
                if (mToday != value)
                {
                    mToday = value;
                    OnPropertyChanged("Today");
                }
            }
        }

        private TaskListViewData mTomorrow;
        public TaskListViewData Tomorrow
        {
            get { return mTomorrow; }
            set
            {
                if (mTomorrow != value)
                {
                    mTomorrow = value;
                    OnPropertyChanged("Tomorrow");
                }
            }
        }

        private TaskListViewData mTwoDays;
        public TaskListViewData TwoDays
        {
            get { return mTwoDays; }
            set
            {
                if (mTwoDays != value)
                {
                    mTwoDays = value;
                    OnPropertyChanged("TwoDays");
                }
            }
        }

        private TaskListViewData mThreeDays;
        public TaskListViewData ThreeDays
        {
            get { return mThreeDays; }
            set
            {
                if (mThreeDays != value)
                {
                    mThreeDays = value;
                    OnPropertyChanged("ThreeDays");
                }
            }
        }

        private TaskListViewData mFourDays;
        public TaskListViewData FourDays
        {
            get { return mFourDays; }
            set
            {
                if (mFourDays != value)
                {
                    mFourDays = value;
                    OnPropertyChanged("FourDays");
                }
            }
        }

        private TaskListViewData mFiveDays;
        public TaskListViewData FiveDays
        {
            get { return mFiveDays; }
            set
            {
                if (mFiveDays != value)
                {
                    mFiveDays = value;
                    OnPropertyChanged("FiveDays");
                }
            }
        }

        private TaskListViewData mSixDays;
        public TaskListViewData SixDays
        {
            get { return mSixDays; }
            set
            {
                if (mSixDays != value)
                {
                    mSixDays = value;
                    OnPropertyChanged("SixDays");
                }
            }
        }

        public ICommand NavigateToTaskListCommand { get; set; }

        #region INotifyPropertyChanged Members

        public event PropertyChangedEventHandler PropertyChanged;

        private void OnPropertyChanged(string propertyName)
        {
            if (PropertyChanged != null)
                PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
        }

        #endregion
    }
}
